<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>博客详情页</title>
    <link
      rel="stylesheet"
      href="https://cdn.bootcss.com/bootstrap/4.0.0/css/bootstrap.min.css"
      integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm"
      crossorigin="anonymous"
    />
    <link rel="stylesheet" href="./common.css" />
  </head>
  <body>
		<div class="container">
      <div class="row justify-content-md-center">
        <div class="col-lg-8 col-md-12">
          <h1  id="title" class="display-4"></h1>
          <div class="info-wrapper" id="infoWrapper"></div>
					<div class="blog-list">
						<p id="content"></p>
					</div>
        </div>
      </div>
    </div>

    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
    <script src="https://cdn.bootcss.com/moment.js/2.23.0/moment.min.js"></script>
    <script src="https://cdn.bootcss.com/moment.js/2.23.0/locale/zh-cn.js"></script>
    <script>
      // 发送 get 请求
      function get(url) {
        return $.get(url);
      }

      // 显示格式化的时间
      function getFormatDate(dt) {
        return moment(dt).format("LL");
      }

      // 获取 url 参数
      function getUrlParams() {
        let paramStr = location.href.split("?")[1] || "";
        paramStr = paramStr.split("#")[0];
        const result = {};
        paramStr.split("&").forEach(itemStr => {
          const arr = itemStr.split("=");
          const key = arr[0];
          const val = arr[1];
          result[key] = val;
        });
        return result;
      }

      // 获取 dom 元素
      const $title = $("#title");
      const $infoContainer = $("#infoWrapper");
      const $content = $("#content");

      // 获取数据
      const urlParams = getUrlParams();
      const url = "/api/blog/detail?id=" + urlParams.id;
      get(url).then(res => {
        if (res.errno !== 0) {
          alert("数据错误");
          return;
        }

        // 显示数据
        const data = res.data || {};
        $title.text(data.title);
        $content.text(data.content);
        $infoContainer.append(
          $(`
            <span>
							<a href="/index.html?author=${data.author}">${data.author}</a>
            </span>
            <span>${getFormatDate(data.createtime)}</span>
					`)
        );
      });
    </script>
  </body>
</html>
